<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core"      
      xmlns:p="http://primefaces.prime.com.tr/ui">
    <h:head>
        <script type="text/javascript">  
            function retornaEvento(args) {  
                if(args.validationFailed) {  
                    cadpedido.show();
                }else{
                    cadpedido.hide();
                }
            }
        </script>         
    </h:head>
    <h:body>
        <p:dialog header="Novo" position="center" resizable="false"
                  width="400"
                  modal="true" widgetVar="cadpedido" id="dlgPedido">
            <p:outputPanel>
                <p:growl id="alerta">  
                </p:growl>
                <h:form prependId="true">
                    <h:panelGrid columns="2">
                        
                        <h:outputText value="Cliente:"  />
                        <p:selectOneMenu id="cliente" value="#{pedidoController.pedido.idPessoa}">                       
                            <f:selectItems value="#{pedidoController.pessoa}" var="c" itemLabel="#{c.id}" itemValue="#{c.nome}" />
                            <f:converter converterId="SimpleEntityConverter" />
                        </p:selectOneMenu>    
                        
                        <h:outputText value="Produto:"  />
                        <p:selectOneMenu id="produto" value="#{pedidoController.pedido.idProduto}" required="true" requiredMessage="Selecione um produto">
                            <f:selectItem itemValue="" itemLabel="Selecione"/>  
                            <f:selectItems value="#{pedidoController.produto}" var="c" itemLabel="#{c.id}" itemValue="#{c.nome}" />
                            <f:converter converterId="SimpleEntityConverter" />
                            
                            <p:ajax update="valorUnitario, valorTotal"
                                    listener="#{pedidoController.atualizaValorUnitario}" />
                        </p:selectOneMenu>                         
                        
                        <h:outputText value="Valor unitário:"/>
                        <p:inputText id="valorUnitario" value="#{pedidoController.valorUnitario}" disabled="true" size="10"/>                        
                          
                        <h:outputText value="Quantidade:"/>
                        <p:inputText value="#{pedidoController.pedido.quantidade}" required="true" requiredMessage="Campo [quantidade] é Obrigatório!" size="3" >
                            <p:ajax update="valorTotal"
                                    event="keyup"
                                    listener="#{pedidoController.atualizaValorTotal}" />                            
                        </p:inputText>
 
                        <h:outputText value="Data entrega/retirar"/>
                        <p:calendar value="#{pedidoController.pedido.dataEntrega}" showOn="button" pattern="dd/MM/yyyy HH:mm"/>
                        
                        <h:outputText value="Valor total"/>
                        <p:inputText id="valorTotal" value="#{pedidoController.pedido.valorTotal}" required="true" requiredMessage="Campo [total] é Obrigatório!" size="10"/>                        

                        
                        <p:commandButton update="alerta,formPedido" value="Salvar"
                                         process="@form"
                                         image="ui-icon-disk" action="#{pedidoController.adicionarPedido}" oncomplete="retornaEvento(args)" />
                    </h:panelGrid>
                </h:form>
            </p:outputPanel>
        </p:dialog>
    </h:body>
</html>